/**
 * @description 文件上传请求接口
 * @author: JamesYao
 * @dateTime: 2023/12/21 21:53
 */
import request from "@/utils/base_request.ts"
import {baseURl} from "@/utils/base_request.ts";

export const uploadUrl = baseURl + '/minio/upload'

/**
 * 上传分片文件
 * @param file 文件对象
 * @param data 文件数据
 * @returns Promise
 */
export function uploadFile(file:any, data:any) {
    var formData = new FormData();
    formData.append('file', file);
    formData.append('chunkFile', JSON.stringify(data))
    return request({
        url: '/minio/upload',
        method: 'post',
        data: formData,
        headers: {
            'Content-Type': 'multipart/form-data'
        }
    })
}

/**
 * 上传分片文件
 * @param file 文件对象
 * @param data 文件数据
 * @param sumHash 总文件ID
 * @returns Promise
 */
export function backUploadFile(file:any, data:any, sumHash:string) {
    var formData = new FormData();
    formData.append('file', file);
    formData.append('chunkFile', JSON.stringify(data))
    return request({
        url: `/minio/backUpload/${sumHash}`,
        method: 'post',
        data: formData,
        headers: {
            'Content-Type': 'multipart/form-data'
        }
    })
}

/**
 * 获取上传总文件ID
 * @param data 文件数据
 * @returns Promise
 */
export function mergeFileId(data: any) {
    return request({
        url: '/minio/mergeId',
        method: 'post',
        data
    })
}

/**
 * 检查文件完整性
 * @param data 文件数据
 * @returns 请求结果
 */
export function checkFileIntegrity(data: any){
    return request({
        url: '/minio/checkFile',
        method: 'post',
        data
    })
}


